//20 7WA 1TLE
#include"bits/stdc++.h"
#define MAXN 100000+10
using namespace std;
struct like{
	int like_rank[MAXN];
};
like student[110];
bool In(int number,int arr[],int ws)
{
	for(int i=1;i<=ws;i++)
	{
		if(number==arr[i])
		{
			return true;
		}
	}
	return false;
}
int n,m,a,b,zyl_like[MAXN],h[MAXN],song_sheet[MAXN],pos[MAXN],zyl_like_best_in_song_sheet_index=1;
int main()
{
	cin>>n>>m>>a>>b;
	for(int i=1;i<=a;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>student[i].like_rank[j];
			h[j]+=student[i].like_rank[j];
			if(i==b)
			{
				zyl_like[j]=student[i].like_rank[j];
				h[j]-=student[i].like_rank[j];
			}
		}
	}
	int zyl_like_best=zyl_like[1],zyl_like_best_index=1;
	for(int i=2;i<=n;i++)
	{
		if(zyl_like[i]>zyl_like_best)
		{
			zyl_like_best=zyl_like[i];
			zyl_like_best_index=i;
		}
	}
	for(int i=1;i<n;i++)
	{
		for(int j=1;j<=n-i;j++)
		{
			if(h[j]<h[j+1])
			{
				swap(h[j],h[j+1]);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		pos[h[i]]=i;
	}
	for(int i=1;i<=m;i++)
	{
		song_sheet[i]=pos[i];
	}
	bool flag=In(zyl_like_best_index,song_sheet,m);
	if(flag)
	{
		for(int i=1;i<=n;i++)
		{
			if(i==zyl_like_best_index)
			{
				zyl_like_best_in_song_sheet_index=i;
				break;
			}
		}
		swap(song_sheet[1],song_sheet[zyl_like_best_in_song_sheet_index]);
	}
	else
	{
		song_sheet[m]=zyl_like_best_index;
	}
	for(int i=1;i<=m;i++)
	{
		cout<<song_sheet[i]<<" ";
	}
}
